public interface CiscoRemoteTerminal extends CiscoTerminal
CiscoRemoteTerminal is a new interface that is being exposed to applications, it extends the interface of CiscoTerminal. A CiscoRemoteTerminal is a special kind of CiscoTerminal that allows applications to monitor remote devices such as PSTN, PBX, Mobiles phones, etc. A CiscoRemoteTerminal shall have an enterprise number associated to it, along with remote destinations. The max number of remote destinations can be configured for a single CiscoRemoteTerminal depends on its owner user's max remote destinations configuration (from 1 to 10, with a default max of 4) on the CUCM Admin user page. If there are multiple remote destinations (RD), only one of them can be set as the active remote destination (Active RD). Each Remote Destination Number must be unique within the CUCM cluster. Like CiscoTerminal, a CiscoRemoteTerminal endpoint is observable and controllable in a third-party manner. A remote device's remote destination is exposed through the CiscoRemoteDestinationInfo interface of the associated CiscoRemoteTerminal.
NOTE: Only "CTIRD" (CTI Remote Device) and "CUCSF (Cisco Unified Client Services Framework) device in Extend mode" appear as CiscoRemoteTerminal through JTAPI.
To monitor and control a particular CiscoRemoteTerminal, an application first adds an observer
that implements the CiscoTerminalObserver
interface using the
Terminal.addObserver
method. Applications can observe/control the call connected
at the remote destination by adding callobserver on the address/terminal of associated
CiscoRemoteTerminal.
For Incoming call to CiscoRemoteTerminal, JTAPI events sent to applications is similar to other CTI controlled Cisco Terminals. If an active remote destination is set for a CiscoRemoteTerminal, an incoming call only rings at the active remote destination; if not set, all remote destinations can ring, and any of these remote destinations will be able to answer the call. Only after a remote destination answers the call, the call will be connected to the CiscoRemoteTerminal. For Outgoing DVO (Dial via Office) call from CiscoRemoteTerminal, the behavior is different than an usual outgoing call from other Cisco Terminals. It requires an active remote destination to be set on the CiscoRemoteTerminal that the outgoing call will be made from. To place DVO outbound call, application use the same Call.connect() interface as usual. Only after the active remote destination answers the call, the call will then be offered to the actual called party.
CiscoTerminal
Modifier and Type | Field and Description |
---|---|
static int |
EXTEND_MEDIA_REGISTRATION
This registration type applies to "Cisco Unified Client Services Framework" device/terminal that is registered in Extend mode,
which as a result is represented as a CiscoRemoteTerminal.
|
static int |
NO_EXTEND_MEDIA_REGISTRATION
This registration type applies to non-"Cisco Unified Client Services Framework" device/terminal that is static registered and
is represented as a CiscoRemoteTerminal, such as a "CTI Remote Device".
|
APPLICATION, ASCII_ENCODING, DEVICESTATE_ACTIVE, DEVICESTATE_ALERTING, DEVICESTATE_HELD, DEVICESTATE_IDLE, DEVICESTATE_UNKNOWN, DEVICESTATE_WHISPER, DEVICETYPE_12S, DEVICETYPE_12SP, DEVICETYPE_14_BUTTON_SIDECAR, DEVICETYPE_30SPP, DEVICETYPE_7915_12_BUTTON_SIDECAR, DEVICETYPE_7915_24_BUTTON_SIDECAR, DEVICETYPE_7916_12_BUTTON_SIDECAR, DEVICETYPE_7916_24_BUTTON_SIDECAR, DEVICETYPE_7920, DEVICETYPE_7931, DEVICETYPE_9951, DEVICETYPE_ANALOG_PHONE, DEVICETYPE_ATA_186, DEVICETYPE_CISCO_6901, DEVICETYPE_CISCO_6911, DEVICETYPE_CISCO_6921, DEVICETYPE_CISCO_6941, DEVICETYPE_CISCO_6945, DEVICETYPE_CISCO_6961, DEVICETYPE_CISCO_7902, DEVICETYPE_CISCO_7906, DEVICETYPE_CISCO_7911, DEVICETYPE_CISCO_7912, DEVICETYPE_CISCO_7925, DEVICETYPE_CISCO_7926, DEVICETYPE_CISCO_7936, DEVICETYPE_CISCO_7937, DEVICETYPE_CISCO_7941, DEVICETYPE_CISCO_7941G_GE, DEVICETYPE_CISCO_7942, DEVICETYPE_CISCO_7945, DEVICETYPE_CISCO_7961, DEVICETYPE_CISCO_7961G_GE, DEVICETYPE_CISCO_7962, DEVICETYPE_CISCO_7965, DEVICETYPE_CISCO_7970, DEVICETYPE_CISCO_7971, DEVICETYPE_CISCO_7975, DEVICETYPE_CISCO_7989, DEVICETYPE_CISCO_8941, DEVICETYPE_CISCO_8945, DEVICETYPE_CISCO_8961, DEVICETYPE_CISCO_9971, DEVICETYPE_CISCO_ATA_187, DEVICETYPE_CISCO_CIUS, DEVICETYPE_CISCO_CIUS_SP, DEVICETYPE_CISCO_IP_PHONE_7905, DEVICETYPE_CISCO_SOFTPHONE_SE_M, DEVICETYPE_CISCO_UNIFIED_COMMUNICATIONS_FOR_RTX, DEVICETYPE_CISCO_UNIFIED_COMMUNICATOR, DEVICETYPE_CISCO_UNIFIED_MOBILE_COMMUNICATOR, DEVICETYPE_CKEM_36_BUTTON, DEVICETYPE_CLIENT_SERVICES_FRAMEWORK, DEVICETYPE_CP7921, DEVICETYPE_CTI_PORT, DEVICETYPE_CTI_REMOTE_DEVICE, DEVICETYPE_CTI_ROUTE_POINT, DEVICETYPE_DEVICE_PILOT, DEVICETYPE_IP_CONFERENCE_PHONE, DEVICETYPE_ISDN_BRI_PHONE, DEVICETYPE_TELECASTER_BID, DEVICETYPE_TELECASTER_BUSINESS, DEVICETYPE_TELECASTER_MGR, DEVICETYPE_UNKNOWN, DEVICETYPE_VGC_PHONE, DND_OPTION_CALL_REJECT, DND_OPTION_NONE, DND_OPTION_RINGER_OFF, IN_SERVICE, IP_ADDRESSING_MODE_IPV4, IP_ADDRESSING_MODE_IPV4_V6, IP_ADDRESSING_MODE_IPV6, IP_ADDRESSING_MODE_UNKNOWN, IP_ADDRESSING_MODE_UNKNOWN_ANATRED, NATIVE_LOGIN, NO_LOGIN, NO_ROLLOVER, NOT_APPLICABLE, OUT_OF_SERVICE, PHONE_USER, ROLLOVER_ANY_DN, ROLLOVER_SAME_DN, UCS2UNICODE_ENCODING, UNKNOWN_ENCODING, VISITOR_LOGIN
Modifier and Type | Method and Description |
---|---|
void |
addRemoteDestination(java.lang.String remoteDestinationName,
java.lang.String remoteDestinationNumber,
boolean isActiveRD)
This API will add a new remote destination to the CiscoRemoteTerminal.
|
CiscoRemoteDestinationInfo[] |
getActiveRemoteDestinations()
This API will return an array CiscoRemoteDestinationInfo representing all active remote destinations of the CiscoRemoteTerminal, or null if none.
|
CiscoRemoteDestinationInfo[] |
getAllRemoteDestinations()
This API will return an array of CiscoRemoteDestinationInfo representing all remote destinations of the CiscoRemoteTerminal, or null if none.
|
int |
getRegistrationType()
This API will return the registration type with which this terminal has been registered in.
|
boolean |
isMyAppLastToSetActiveRD()
This API will return true if this application is the last application to set active remote destination
for the CiscoRemoteTerminal; return false otherwise.
|
boolean |
isRegisteredByThisApp()
This API will return true if this application issued a successful registration request to register
this terminal in Extend mode.
|
void |
removeAllRemoteDestinations()
This API will remove all associated remote destinations from the CiscoRemoteTerminal.
|
void |
removeRemoteDestination(java.lang.String remoteDestinationNumber)
This API will remove a remote destination from the CiscoRemoteTerminal based on the remote destination number.
|
void |
setActiveRemoteDestination(java.lang.String remoteDestinationNumber,
boolean isActiveRD)
This API will set/unset an active remote destination of the CiscoRemoteTerminal based on the remote destination number.
|
void |
updateRemoteDestination(java.lang.String remoteDestinationNumber,
java.lang.String remoteDestinationName,
java.lang.String newRemoteDestinationNumber,
boolean isActiveRD)
This API will update a remote destination of the CiscoRemoteTerminal based on the remote destination number.
|
void |
updateRemoteDestinationName(java.lang.String remoteDestinationNumber,
java.lang.String remoteDestinationName)
This API will update the name of a remote destination of the CiscoRemoteTerminal based on the remote destination number.
|
void |
updateRemoteDestinationNumber(java.lang.String remoteDestinationNumber,
java.lang.String newRemoteDestinationNumber)
This API will update the number of a remote destination of the CiscoRemoteTerminal based on the remote destination number.
|
canConsultCallRollOver, canDirectTransferAcrossLines, canDirectTransferOnSameLine, canJoinAcrossLines, canJoinOnSameLine, canOutBoundCallRollOver, createSnapshot, directedPickup, getAltScript, getCiscoMultiMediaCapabilityInfo, getDeviceState, getDNDOption, getDNDStatus, getEMLoginUsername, getFilter, getIPAddressingMode, getIPV4Address, getIPV6Address, getLocale, getLoginType, getProtocol, getRegistrationState, getRollOverConfig, getRTPInputProperties, getRTPOutputProperties, getState, getSupportedEncoding, getType, getTypeName, groupPickup, isBuiltInBridgeEnabled, isRegistered, isRestricted, otherPickup, pickup, register, sendData, sendData, setDNDStatus, setFilter, unPark, unregister
addCallObserver, addObserver, getAddresses, getCallObservers, getCapabilities, getName, getObservers, getProvider, getTerminalCapabilities, getTerminalConnections, removeCallObserver, removeObserver
getObject, setObject
static final int EXTEND_MEDIA_REGISTRATION
static final int NO_EXTEND_MEDIA_REGISTRATION
CiscoRemoteDestinationInfo[] getAllRemoteDestinations() throws javax.telephony.InvalidStateException
javax.telephony.InvalidStateException
- If Provider is not in serviceCiscoRemoteDestinationInfo[] getActiveRemoteDestinations() throws javax.telephony.InvalidStateException
javax.telephony.InvalidStateException
- If Provider is not in servicevoid setActiveRemoteDestination(java.lang.String remoteDestinationNumber, boolean isActiveRD) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException
remoteDestinationNumber
- isActiveRD
- javax.telephony.InvalidStateException
- If Provider is not in servicejavax.telephony.InvalidArgumentException
- If the parameter is nullvoid addRemoteDestination(java.lang.String remoteDestinationName, java.lang.String remoteDestinationNumber, boolean isActiveRD) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException
remoteDestinationName
- remoteDestinationNumber
- isActiveRD
- javax.telephony.InvalidStateException
- If Provider is not in servicejavax.telephony.InvalidArgumentException
- If the parameter is nullvoid removeRemoteDestination(java.lang.String remoteDestinationNumber) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException
remoteDestinationNumber
- javax.telephony.InvalidStateException
- If Provider is not in servicejavax.telephony.InvalidArgumentException
- If the parameter is nullvoid removeAllRemoteDestinations() throws javax.telephony.InvalidStateException
javax.telephony.InvalidStateException
- If Provider is not in servicevoid updateRemoteDestinationName(java.lang.String remoteDestinationNumber, java.lang.String remoteDestinationName) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException
remoteDestinationNumber
- remoteDestinationName
- javax.telephony.InvalidStateException
- If Provider is not in servicejavax.telephony.InvalidArgumentException
- If the parameter is nullvoid updateRemoteDestinationNumber(java.lang.String remoteDestinationNumber, java.lang.String newRemoteDestinationNumber) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException
remoteDestinationNumber
- newRemoteDestinationNumber
- javax.telephony.InvalidStateException
- If Provider is not in servicejavax.telephony.InvalidArgumentException
- If the parameter is nullvoid updateRemoteDestination(java.lang.String remoteDestinationNumber, java.lang.String remoteDestinationName, java.lang.String newRemoteDestinationNumber, boolean isActiveRD) throws javax.telephony.InvalidStateException, javax.telephony.InvalidArgumentException
remoteDestinationNumber
- remoteDestinationName
- newRemoteDestinationNumber
- isActiveRD
- javax.telephony.InvalidStateException
- If Provider is not in servicejavax.telephony.InvalidArgumentException
- If the parameter is nullboolean isRegisteredByThisApp()
int getRegistrationType()
boolean isMyAppLastToSetActiveRD() throws javax.telephony.InvalidStateException
javax.telephony.InvalidStateException
- If Provider is not in service